package com.yazi.mxz.common.service;

import java.util.List;

import com.myframework.smhj.hibernate.Searching;
import com.myframework.smhj.hibernate.dao.Service;
import com.yazi.mxz.common.entity.custom.GoodsReportView;

public interface GoodsReportViewService  extends Service<GoodsReportView> {
	
	/**
	 * 企业某时间段内各商品销售额,成本
	 * @param companyId
	 * @param startTime
	 * @param endTime
	 * @param si
	 * @return
	 */
	List<GoodsReportView> listRevenueByCompanyId4Goods(long companyId, long startTime, long endTime, Searching si);
	
	/**
	 * 企业某时间段内各商品损耗
	 * @param companyId
	 * @param startTime
	 * @param endTime
	 * @param si
	 * @return
	 */
	List<GoodsReportView> listLossByCompanyId4Goods(long companyId, long startTime, long endTime, Searching si);
	
	/**
	 * 统计企业某时间段内各店铺营业额
	 * @param companyId
	 * @param startTime
	 * @param endTime
	 */
	List<GoodsReportView> listByCompanyId4Store(long companyId, long startTime, long endTime, Searching si);
	
	/**
	 * 企业某时间段内营业额,成本,损耗
	 * @param companyId
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<GoodsReportView> sumByCompanyId(long companyId, long startTime, long endTime);

	/**
	 * 企业某时间段内营业额走势(按天)
	 * @param companyId
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<GoodsReportView> listRevenueByCompanyId4Day(long companyId, long startTime, long endTime, Searching si);
	
	/**
	 * 店铺某时间段内各商品销售额,成本,损耗
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @param si
	 * @return
	 */
	List<GoodsReportView> listRevenueByStoreId4Goods(long storeId, long startTime, long endTime, Searching si);
	
	/**
	 * 店铺某时间段内各商品损耗
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @param si
	 * @return
	 */
	List<GoodsReportView> listLossByStoreId4Goods(long storeId, long startTime, long endTime, Searching si);
	
	/**
	 * 店铺某时间段内各营业员营业额
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @param si
	 * @return
	 */
	List<GoodsReportView> listByStoreId4Checker(long storeId, long startTime, long endTime, Searching si);
	
	/**
	 * 店铺某时间段内营业额,成本,损耗
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<GoodsReportView> sumByStoreId(long storeId, long startTime, long endTime);
	
	/**
	 * 店铺某时间段内营业额走势(按天)
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @param si
	 * @return
	 */
	List<GoodsReportView> listRevenueByStoreId4Day(long storeId, long startTime, long endTime, Searching si);


}
